草庐IT

c++ - 翻译 C++ 片段

全部标签

c - 了解 C 中的缓冲

我真的很难理解缓冲的深度,尤其是在C编程中,我在这个主题上搜索了很长时间,但直到现在还没有找到令人满意的东西。我会更具体一点:我确实理解它背后的概念(即不同硬件设备的操作协调和最小化这些设备的速度差异)但我希望能更全面地解释这些和其他潜在的缓冲原因(我的意思是完整的)越长越深越好)给出一些具体的例子来说明缓冲是如何在I/O流中实现的。其他问题是我注意到我的程序没有遵循缓冲区刷新中的一些规则,这听起来很奇怪,就像下面的简单片段:#includeintmain(void){FILE*fp=fopen("hallo.txt","w");fputc('A',fp);getchar();fput

c - MPICH:如何发布_name 以便客户端应用程序可以查找_name 呢?

在Windows(1.4.1p1)中使用MPICH学习MPI时,我发现了一些示例代码here.最初,当我运行服务器时,我必须复制生成的port_name并用它启动客户端。这样,客户端就可以连接到服务器了。我将其修改为在服务器中包含MPI_Publish_name()。在启动名称为aaaa的服务器后,我启动了失败的客户端MPI_Lookup_name()withInvalidservicename(seeMPI_Publish_name),errorstack:MPID_NS_Lookup(87):Lookupfailedforservicenameaaaa以下是代码片段:服务器.cMP

c - 安全移除安装的驱动器

我有一个应用程序可以通过SATA接口(interface)将文件写入格式化为NTFS的外部驱动器。在关闭应用程序之前,我确保使用FlushFileBuffers为每个文件刷新所有内容(即CreateFile、FlushFileBuffers、CloseHandle)。然后我卸下驱动器,而不是先卸载它!将驱动器重新插入PC机时,这似乎工作正常。但是,将其插入OSX时,操作系统似乎找不到任何文件,除非驱动器已正确卸载。磁盘中可能缺少什么导致OSX找不到任何东西,有没有一种方法可以在不卸载驱动器的情况下刷新数据?编辑:使用exfat我遇到了“脏”驱动器在重新安装时不可写的问题。

c++ - 从程序执行批处理文件

我想从一个程序(exe文件)中执行一个批处理文件。我通常在程序(exe文件)执行时创建批处理文件。并将execl("START","",NULL);该函数正在调用批处理文件,但不幸的是新的命令窗口出现了,因为execl函数是进程启动并解析为“cmd.exe/k”.能否请您分享调用在后台执行批处理文件的函数的最简单方法,如果可能请分享代码片段。 最佳答案 不要使用start,而是使用cmd/c。预计到达时间:正如ChrisJester-Young在评论中指出的那样,这看起来像execlp("cmd","/c",batchfile,st

代码在 Windows 中有效,但在 Linux 中无效!为什么? 【简单的指针问题】

这是运输问题的工作代码片段(删除了实际功能。这里只有输入和输出功能。顺便说一句,这是不正确的)#include#includetypedefstructtransport{intcost;intalloc;}TRAN;voidproblem_input(TRAN**,int*,int*,int,int);voidproblem_display(TRAN**,int*,int*,int,int);intmain(){intn_dest;intn_org;inti;intj;printf("\n\n\tEnterNumberOfDestinations:");scanf("%d",&n_d

c++ - 如何检查系统()结果

如何检查系统命令是否运行成功并且没有返回错误?根据MSDNLibrary,有多种情况。我不确定以下片段是否正确。charbuffer[100];intret_val;strcpy(buffer,"copy*.txt");strcat(buffer,path);ret_val=system(buffer);if(0!=ret_val){perror("Therewasanerror");}else{printf("Thecommandwasrunsuccessfully.");}返回值如果command为NULL并且找到了命令解释器,则返回一个非零值。如果未找到命令解释器,则返回0并将e

c# - 使用 Sound Effect 同时播放音频片段时出现延迟

我正在开发WindowsPhone应用程序,但遇到以下问题。我有一个循环的.Wav背景音乐文件,可以打开或关闭。可以在按下按钮时播放其他音效(例如Sound1)。当背景音乐关闭时,音效播放正常。但是,当背景音乐打开时,按下按钮和声音效果之间会有轻微(但非常明显)的延迟。我可以通过编程方式做些什么来避免这种情况吗?根据MSDN网站上的建议http://msdn.microsoft.com/en-us/library/ff431744%28v=vs.92%29.aspx,我设置了一个dispatcherTimer以每50毫秒调用一次FrameworkDispatcher.Update。但是

windows - 如何在 WiX 片段中获得编辑注册表 CLSID 的提升权限

我正在尝试将Windows桌面搜索设置为使用不同于系统默认过滤器(nlhtml.dll)的html过滤器。当我查找PersistentHandler(HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html\PersistentHandler)时,它指向HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{eec97550-47a9-11cf-b952-00aa0051fe20}.我想改变上面clsid的值。以下是WiX片段但值没有改变。关于许可;只有TrustedInstaller可以完全控制此条目。Administrator

编译器警告,已修复但想确保我理解

我一直在使用我在网上找到的一些C代码,这些代码在Windows7上有带有代码块的编译器警告,因为我正在学习C并试图在学习过程中理解代码我决定查看警告并修复它们中的一些足够简单,但是我修复的第一个block我想我明白了,但如果有人能证实我的理解,我将不胜感激,有问题的原始代码片段是unsignedcharbuffer[MAX_PATH];unsignedchartext_to_send[MAX_PATH];unsignedchardigits[MAX_PATH];//examplewarningwithdigitswhenusedasbelowtext_to_send[m]=strtol

c - LoadImage() 返回 NULL 和 GetLastError() 返回 0

我一直在网上的不同论坛上搜索答案,但似乎没有与我的情况相符的...我正在使用Windows7,VS2010。我有一个使用定时器来调用任务栏刷新功能的应用程序。在该任务栏函数中包含对LoadImage()的调用,该调用从资源文件中获取图标图像,并最终发送给taskber(使用shell_notifyicon)。在运行应用程序时,这似乎在前几个小时内工作正常,但突然LoadImage()开始失败(它始终是它尝试加载的同一个.ico文件)并返回NULL。我在之后直接插入了一个GetLastError调用,但它总是返回0(表示成功)。图像本身仍然是好的和有效的,我无法解释这一点。有什么线索吗?